package com.liaoye.hellocustomview;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.os.Bundle;

import com.liaoye.hellocustomview.adapter.CustomViewAdapter;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        RecyclerView rvCustom = findViewById(R.id.rv_custom);

        List<String> list = new ArrayList<>();
        list.add("1.画笔");
        list.add("2.路径");
        list.add("3.矩形判断点");
        list.add("4.蜘蛛网图");
        list.add("5.自定义字体");
        list.add("6.圆形头像");
        list.add("7.裁剪区域");
        list.add("8.属性动画-scale");
        list.add("9.属性动画-alpha");
        list.add("10.属性动画-rotate");
        list.add("11.属性动画-translate");
        list.add("12.属性动画-set");
        list.add("13.属性动画-AnimationListener");
        list.add("14.动画示例镜头又远到近");
        list.add("15.加载框效果");
        list.add("16.扫描动画");
        list.add("17.帧动画-音乐播放效果");
        list.add("18.属性动画-ValueAnimator");
        list.add("19.弹跳加载中效果");
        list.add("20.ValueAnimator-抛物动画效果");
        list.add("21.属性动画-ObjectAnimator");
        list.add("22.ObjectAnimator-抛物动画效果");
        list.add("23.AnimatorSet");
        list.add("24.路径动画");
        list.add("25.ValueAnimator在XML中定义");
        list.add("26.ObjectAnimator在XML中定义");
        list.add("27.PropertyValuesHolder.ofFloat的使用");
        list.add("28.PropertyValuesHolder.ofObject的使用");
        list.add("29.学习SurfaceView的使用");
        list.add("30.SurfaceView的使用背景移动");
        list.add("31.SurfaceView的双缓冲技术");
        list.add("32.SurfaceView的双缓冲技术局部更新");
        list.add("33.SurfaceView在Camera中的应用");
        list.add("34.Keyframe的使用");
        list.add("35.AnimateLayoutChanges属性的使用");
        list.add("36.LayoutTransition的使用");
        list.add("37.PathMeasure的使用");
        list.add("38.ForegroundColorSpan的实现");
        list.add("39.PathMeasure的实现加载动画");
        list.add("40.PathMeasure的实现箭头动画");
        list.add("41.PathMeasure的实现加载动画");
        list.add("42.SVG可缩放矢量图的使用");
        list.add("43.SVG绘制搜索框");
        list.add("44.Paint的基本使用");
        list.add("45.贝塞尔曲线的基本使用");
        list.add("46.贝塞尔曲线应用于手势监听");
        list.add("47.贝塞尔曲线绘制水波纹");
        list.add("48.BlurMaskFilter发光效果");
        list.add("49.绘制图片阴影");
        list.add("50.BitMapShader图片着色器的使用");
        list.add("51.望远镜效果的实现");
        list.add("52.不规则头像的生成");
        list.add("53.LinearGradient线性渐变的使用");
        list.add("54.线性渐变实现发光文字");
        list.add("55.RadialGradient放射渐变的使用");
        list.add("56.BitMap位图相关知识");
        list.add("57.BitMap位图的压缩");
        list.add("58.BitMap位图的创建");
        list.add("59.BitMap实现imageView的点击背景");
        list.add("60.BitMap实现水印的添加");
        list.add("61.自定义View中自定义属性与样式");
        list.add("62.自定义线性布局");
        list.add("63.自定义流式布局");
        list.add("64.自定义仪表盘");
        list.add("65.自定义饼图");
        list.add("66.GestureDetector的使用");
        list.add("67.悬浮窗的使用");


        CustomViewAdapter adapter = new CustomViewAdapter(list);
        adapter.setOnItemClickListener(pos -> {
            Intent intent = new Intent(getApplicationContext(), CustomViewActivity.class);
            intent.putExtra("title", list.get(pos));
            intent.putExtra("position", pos);
            startActivity(intent);
        });
        LinearLayoutManager manager = new LinearLayoutManager(this);
        rvCustom.setLayoutManager(manager);
        rvCustom.setAdapter(adapter);
    }
}